package com.hm.admin.service;

import com.hm.admin.dao.mapper.HmAdminMapper;
import com.hm.admin.domain.HmAdmin;
import com.hm.admin.domain.HmAdmin.Column;
import com.hm.admin.domain.HmAdminExample;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class HmAdminService {
    private final Column[] result = new Column[]{Column.id, Column.username, Column.avatar, Column.roleIds};
    @Resource
    private HmAdminMapper adminMapper;

    public List<HmAdmin> findAdmin(String username) {
        HmAdminExample example = new HmAdminExample();
        example.or().andUsernameEqualTo(username).andDeletedEqualTo(false);
        return adminMapper.selectByExample(example);
    }

//    public HmAdmin findAdmin(Integer id) {
//        return adminMapper.selectByPrimaryKey(id);
//    }
//
//    public List<HmAdmin> querySelective(String username, Integer page, Integer limit, String sort, String order) {
//        HmAdminExample example = new HmAdminExample();
//        HmAdminExample.Criteria criteria = example.createCriteria();
//
//        if (!StringUtils.isEmpty(username)) {
//            criteria.andUsernameLike("%" + username + "%");
//        }
//        criteria.andDeletedEqualTo(false);
//
//        if (!StringUtils.isEmpty(sort) && !StringUtils.isEmpty(order)) {
//            example.setOrderByClause(sort + " " + order);
//        }
//
//        PageHelper.startPage(page, limit);
//        return adminMapper.selectByExampleSelective(example, result);
//    }
//
//    public int countSelective(String username, Integer page, Integer size, String sort, String order) {
//        HmAdminExample example = new HmAdminExample();
//        HmAdminExample.Criteria criteria = example.createCriteria();
//
//        if (!StringUtils.isEmpty(username)) {
//            criteria.andUsernameLike("%" + username + "%");
//        }
//        criteria.andDeletedEqualTo(false);
//
//        return (int) adminMapper.countByExample(example);
//    }
//
//    public int updateById(HmAdmin admin) {
//        admin.setUpdateTime(LocalDateTime.now());
//        return adminMapper.updateByPrimaryKeySelective(admin);
//    }
//
//    public void deleteById(Integer id) {
//        adminMapper.logicalDeleteByPrimaryKey(id);
//    }
//
//    public void add(HmAdmin admin) {
//        admin.setAddTime(LocalDateTime.now());
//        admin.setUpdateTime(LocalDateTime.now());
//        adminMapper.insertSelective(admin);
//    }
//
//    public HmAdmin findById(Integer id) {
//        return adminMapper.selectByPrimaryKeySelective(id, result);
//    }
}
